package dominio;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

@Entity(name = "moda")
@DiscriminatorValue("MODA")
public class Moda extends Articulo {

	/**
	 * 
	 */
	private static final long serialVersionUID = 2370281917234854776L;

	private String color;
	private String talle;

	public Moda() {
		super();
	}

	public Moda(Long codigo, String nombre, String descripcion, String marca,
			Float precio, String foto, String origen, Integer cantidad,
			String color, String talle) {
		super(codigo, nombre, descripcion, marca, precio, foto, origen,
				cantidad);
		this.color = color;
		this.talle = talle;
	}

	public Moda(String nombre, String descripcion, String marca, Float precio,
			String foto, String origen, Integer cantidad, String color,
			String talle) {
		super(nombre, descripcion, marca, precio, foto, origen, cantidad);
		this.color = color;
		this.talle = talle;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public String getTalle() {
		return talle;
	}

	public void setTalle(String talle) {
		this.talle = talle;
	}

	@Override
	protected void addInformation(Document doc, Element rootElement) {
		// set attribute to articulo element
		// shorten way
//		rootElement.setAttribute("categoria", "moda");

		// tipo elements
		Element tipo = doc.createElement("tipo");
		tipo.appendChild(doc.createTextNode("moda"));
		rootElement.appendChild(tipo);
		
		// color elements
		Element colorElement = doc.createElement("color");
		String color2 = getColor() != null ? getColor() : "";
		colorElement.appendChild(doc.createTextNode(color2));
		rootElement.appendChild(colorElement);

		// talle elements
		Element talleElement = doc.createElement("talle");
		String talle2 = getTalle() != null ? getTalle() : "";
		talleElement.appendChild(doc.createTextNode(talle2));
		rootElement.appendChild(talleElement);
	}

	@Override
	public String toString() {
		return "Moda ["
				+ (color != null ? "color=" + color + ", " : "")
				+ (talle != null ? "talle=" + talle + ", " : "")
				+ (getCodigo() != null ? "getCodigo()=" + getCodigo() + ", "
						: "")
				+ (getNombre() != null ? "getNombre()=" + getNombre() + ", "
						: "")
				+ (getDescripcion() != null ? "getDescripcion()="
						+ getDescripcion() + ", " : "")
				+ (getMarca() != null ? "getMarca()=" + getMarca() + ", " : "")
				+ (getPrecio() != null ? "getPrecio()=" + getPrecio() + ", "
						: "")
				+ (getFoto() != null ? "getFoto()=" + getFoto() : "") + "]";
	}

	@Override
	public String getTipo() {
		return "Moda";
	}
}
